package com.loop.nio;

import java.io.File;
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * 读文件中的数据
 *
 * @author zhangxiaolu
 * @since 2023-09-03 20:53
 */
public class NIOFileChannel02 {

    public static void main(String[] args) {
        // 创建一个文件输入流
        File file = new File("nio.txt");
        try (FileInputStream fis = new FileInputStream(file)) {
            // 获取文件通道
            FileChannel channel = fis.getChannel();
            // 创建一个缓冲区
            ByteBuffer buffer = ByteBuffer.allocate((int) file.length());
            // 读取数据到缓冲区
            channel.read(buffer);
            // 打印缓冲区中的数据
            System.out.println(new String(buffer.array()));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
